package com.info.game;

import java.util.ArrayList;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.math.Vector2;
import com.component.game.NullAIComponent;
import com.component.game.NullInputComponent;
import com.component.game.NullPhysicsComponent;
import com.level.game.GameObjectInfo;
import com.level.game.Instruction;
import com.level.game.StageInfo;
import com.render.game.RenderType;

public class PlayInstruction1 extends Instruction{

	@Override
	public StageInfo getStageInfo() {
		return new StageInfo(new Vector2(), new Vector2(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()), new Vector2(), new Vector2(40, 30));
	}

	
	@SuppressWarnings("serial")
	@Override
	public ArrayList<GameObjectInfo> getGameObjectsInfo() {
		
		return new ArrayList<GameObjectInfo>(){

			{
				this.add(new GameObjectInfo("PLAY_BACKGROUND_STAGE_1", NullInputComponent.class.getCanonicalName(), NullAIComponent.class.getCanonicalName(),
						NullPhysicsComponent.class.getCanonicalName(), PlayBackgrounStage1RenderComponent.class.getCanonicalName(), false,
						StageInfo.id, RenderType.background, -1));
				
				
				this.add(new GameObjectInfo("FLOOR_STAGE_1", NullInputComponent.class.getCanonicalName(), NullAIComponent.class.getCanonicalName(),
						FloorStage1PhysicsComponent.class.getCanonicalName(), FloorStage1RenderComponent.class.getCanonicalName(), false,
						StageInfo.id, RenderType.npc, -1));
				
				this.add(new GameObjectInfo("CEIL_STAGE_1", NullInputComponent.class.getCanonicalName(), NullAIComponent.class.getCanonicalName(),
						CeilStage1PhysicsComponent.class.getCanonicalName(), CeilStage1RenderComponent.class.getCanonicalName(), false,
						StageInfo.id, RenderType.npc, -1));
				
				this.add(new GameObjectInfo("GRAVITY_ROBOT", GravityRobotInputComponent.class.getCanonicalName(), NullAIComponent.class.getCanonicalName(),
						GravityRobotPhysicsComponent.class.getCanonicalName(), GravityRobotRenderComponent.class.getCanonicalName(), true,
						StageInfo.id, RenderType.player, -1));
				
			}
		};
		
		
	}

}
